#include <string.h>
#include <map>
#include <vector>

using namespace std;

struct ltstr {
  bool operator()(const char* s1, const char* s2) const {
    return strcmp(s1, s2) < 0;
  }
};

struct preRot {
	char *prerot;
	char *original;
	int rotation;
};

class ROT {
	public:
		static char *rotToA(const char *input);
		static void rotAndStore(const char *input);
		static bool checkIfIn(const char *input);
		static vector<struct preRot *> *findCorots(const char *input);
		static void showStatistics();
		static void clearCache();
	protected:
	private:
		static struct preRot *createPreRotStruct(const char *input);
};
